Usando el histórico de comandos ejecutados desde un terminal

En la última entrada explicaba cómo habilitar el acceso remoto a la RPi... Pero eso fue el año pasado y mi memoria ya no es la que era...

Después de consultar el DHCP de mi router para averiguar cuál es la dirección IP asignada a la RPi, el siguiente paso era conectar con ella vía SSH. Recordaba el comando ligeramente, pero en vez de dedicar tiempo de neuronas a recordar algo, he decidido que sería un buen momento para aprender algo nuevo.

Resulta que en los sistemas Linux/Unix/Mac, el terminal recuerda todos los comandos que se introducen, por lo que es posible volver a ejecutar un comando anterior tirando de histórico. El problema es que no recordaba cómo acceder a este historial de comandos ejecutados.

La respuesta, después de una búsqueda en Google, ha sido decepcionantemente simple: history.

El comando history muestra todos los comandos guardados. Y aunque hay un límite para el número de comandos que se guarda en este histórico, el número puede ser muy grande... Así que el siguiente paso es filtrar la salida de history para buscar lo que queremos; en mi caso, el comando de conexión vía ssh:
history | grep ssh
Esto encauza la salida del comando history hacia grep, filtrando sólo los resultados que incluyen 'ssh' . En mi caso, el resultado ha sido:
Air:~ xavi$ history | grep ssh
  483  ssh
  484  ssh 192.168.1.52
  485  ssh pi@192.168.1.52 
  486  ssh pi@192.168.1.52 
  487  ssh pi@192.168.1.50
  501  history | grep ssh
Air:~ xavi$ 
Como puede verse, cada uno de los comandos va precedido de un número. Para volver a ejecutar el comando especificado, usamos:
!487
Es decir,  ejecutamos de nuevo el comando 487 del histórico.

El uso del histórico en la consola de comandos da mucho más de sí; para ampliar información, no dudes en consultar, por ejemplo, esta fantástica página: How To Use Bash History Commands and Expansions on a Linux VPS 

Comentarios